package com.dpac.core.dao;

import com.dpac.core.vo.ResultVo;

/**
 * @title dao操作接口
 * @description 请填写相关描述
 * @creator lils
 * @date 2017年8月18日 上午10:08:02
 */
public interface IDao<T> {
	/**
	 * 获取1条数据
	 * @param tPo
	 * @return
	 */
	public T getOne(T tPo);

	/**
	 * 获取数据列表
	 * @param tPo 持久对象
	 * @return
	 */
	public ResultVo getList(T tPo);

	/**
	 * 保存数据
	 * @param tPo 持久对象
	 * @return
	 */
	public ResultVo save(T tPo);

	/**
	 * 更新数据
	 * @param tPo 持久对象
	 * @param arrNecessaryCondition 必要条件（传入null代表使用默认的）
	 * @return
	 */
	public ResultVo update(T tPo, Object[] arrNecessaryCondition);

	/**
	 * 删除数据
	 * @param tPo 持久对象
	 * @param arrNecessaryCondition 必要条件（传入null代表使用默认的）
	 * @return
	 */
	public ResultVo delete(T tPo, Object[] arrNecessaryCondition);
}
